/*------------------------------------------------------------------------------ ツリーRPG本体:樹上にて ------------------------------------------------------------------------------*/ !母艦設計=「母艦の可視はオフ」 #format------------------------------------------------------------------------- !タイトル=「樹上にて」 !バージョン=「0.01」 !コピーライト=「(c)2005 canot」 !デバックモード=0 !アイコンアドレス=「itt.png」 !シナリオアドレス=「sn0.nako」 !アプリ情報=「 聖なる樹、そのどこかにたしかに存在する希望。 あなたは、壮大なる情報樹の探検者。 」 シナリオタイトル=「エラー.」 シナリオバージョン=「0」 クリア色=4473924 ウェイト=0 シーン=0 シナリオエラー=「,pl,データがありません,4,4{〜}-,my,データのアドレスが正しいか確認してください。,,」 イベントデータ@0=「」 ターゲット=「n/a」 変更フラグ=1 キー=0 ゴールド=100 周囲@時間=「夜」 周囲@状態=「よく晴れて、星がきらめいている。{\n}寒い。」 自分@状態=「普通」 装備@頭=「素頭」 装備@手=「素手」 装備@胴=「旅人の服」 装備@脚=「旅人の靴」 #System------------------------------------------------------------------------- #軽変更時の変数名変更はしないでください。 stat="starting" item_no=0 #------------------------------------------------------------------------------- # GUI 設定 #------------------------------------------------------------------------------- #定義 #Tree--------------------------------------------------------------------------- フィールドとはツリー #StatusBar---------------------------------------------------------------------- 母艦ステータスとはステータスバー #ImageList---------------------------------------------------------------------- 操作アイコンとはイメージリスト #Textbox------------------------------------------------------------------------ 通知エリアとはメモ #設定 #UI Style----------------------------------------------------------------------- //tree フィールドについて レイアウトは全体 インデントは35 文字サイズは9 スタイル設定(「線」) 母艦ステータスについて レイアウトは下 文字サイズは9 通知エリアについて レイアウトは下 文字サイズは10 スクロールバーは縦 背景色は黒色 文字色は緑色 もし(デバックモード!=1)ならば、可視はオフ 操作アイコンについて 画像W=16 画像H=16 #Menu--------------------------------------------------------------------------- 「 ,mf,システム(&S) -,f2,-,,, -,f3,閉じる(&X),ESC,,終わる ,mg,ゲーム(&G) -,g1,ステータス,Ctrl+S,,フィールドの『my』をノード開く ,mh,ヘルプ(&H) -,h1,アバウト(&A),,,アバウト 」をメニュー一括作成 #母艦 #main window-------------------------------------------------------------------- 母艦について タイトルは「{タイトル}」 クライアントWは320 クライアントHは240 背景色はクリア色 母艦を中央移動 #Ivent-------------------------------------------------------------------------- フィールドのクリックした時は〜 変更フラグ=1 フィールドのダブルクリックした時は〜 キー=「39」 変更フラグ=1 フィールドのキー押した時は〜 キー=「{押された仮想キー}」 変更フラグ=1 #表示 #onView------------------------------------------------------------------------- 初期ステータス シナリオロード シーンでツリー初期化 母艦の可視はオン stat="ok" #------------------------------------------------------------------------------- # メインルーチン #------------------------------------------------------------------------------- 1の間 もし((変更フラグ=1)&&(「{ターゲット}x{oldkey}」!=「{フィールドの選択ID}x{キー}」))ならば ターゲット=(フィールドの選択ID) 母艦ステータスは「{ターゲット} - {キー}」 もし(デバックモード=1)ならば、ログ採取//debug シーンのターゲットでイベントサーチ oldkey=キー キー=0 変更フラグ=0 ここまで 表示ログ=「」 0.1秒待つ ここまで 待機。 #------------------------------------------------------------------------------- # サブルーチン #------------------------------------------------------------------------------- *アバウト 「{シナリオタイトル} ver,{シナリオバージョン}{\n}{\n}{タイトル} ver,{バージョン}{\n}{コピーライト}{\n}{アプリ情報}」と言う *ログ採取 パスバッファ=フィールドの選択パス取得 通知バッファは「{ターゲット} - {キー} / {パスバッファ}{\n}{通知エリア}」 通知エリア=「」 通知バッファ2=「」 c=0 通知バッファを反復 もし、c<20ならば、 通知バッファ2=「{通知バッファ2}{それ}{\n}」 c=c+1 通知エリア=通知バッファ2 *ノード整理 フィールドの「pl」をノード閉じる フィールドの「pl」をノード開く フィールドの「b1」をノード閉じる フィールドの「exit」をノード閉じる フィールドの「my」をノード閉じる #------------------------------------------------------------------------------- # ファンクション #------------------------------------------------------------------------------- ●ツリー初期化(sで) ステータスロード シーン開始イベント@sをナデシコする。 フィールドに現在ステータスをツリーノード一括追加 通知エリア=「>>start scine {s}{\n}{通知エリア}」 シーン=s ノード整理 ●ゴールド増減(gで) ゴールド=ゴールド+g; ●アイテム増(iの) item_no=item_no+1; フィールドに「hav,{item_no},{i},,4」を一括追加。 ●アイテム減(iの) フィールドの「{i}」をノード削除 ●イベントサーチ(シーンの、発生イベントで) イベントデータ@シーンを反復 イベントバッファ=それを「,」で区切る もし、イベントバッファ[0]が発生イベントならば 「{イベントバッファ[1]}」をナデシコする。 もし、((キー=39)||(キー=32))ならば 「{イベントバッファ[2]}」をナデシコする。 ここまで ここまで ここまで #------------------------------------------------------------------------------- # シナリオ #------------------------------------------------------------------------------- ●シナリオロード アイコンアドレスが存在 もしそれが1ならば、 通知エリア=「>>load {アイコンアドレス}{\n}{通知エリア}」 操作アイコンについて 一括追加(アイコンアドレス) フィールドについて 画像設定(操作アイコン) ファイルバッファ=『フィールドに「{シナリオエラー}」を一括作成。』 シナリオアドレスが存在 もしそれが1ならば、 通知エリア=「>>load {シナリオアドレス}{\n}{通知エリア}」 ファイルバッファにシナリオアドレスを読む ファイルバッファをナデシコする。 母艦はシナリオタイトル。 ファイルバッファ=「」 ●ステータスロード //! statData-------------------------------------------------------------------- #初期 現在ステータス=「 //自分 pl,my,ステータス,8,0 -,my2,状態:{自分@状態},,4 -,my3,周囲:{周囲@時間},,4 //詳細 my3,my31,{周囲@状態} //所持 my,gold,{ゴールド}G,,4 my,hav,所持品,,4 hav,my1,装備,,4 my1,my10,{装備@頭},,4 my1,my11,{装備@手},,4 my1,my12,{装備@胴},,4 my1,my13,{装備@脚},,4 」 //-,item,{},,4 ●初期ステータス 周囲@時間=「夜」 周囲@状態=「よく晴れて、星がきらめいている。{\n}寒い。」 自分@状態=「普通」 装備@頭=「素頭」 装備@手=「素手」 装備@胴=「旅人の服」 装備@脚=「旅人の靴」 //Program is end